Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

IdeDriver Class Reference

#include <deDriver.hpp>

Inheritance diagram for IdeDriver:

Inheritance graph
[legend]
List of all members.

Public Types

enum  Types {
  DRIVER_INVALID = -1, DRIVER_DIRECT3D8 = 0, DRIVER_DIRECT3D9 = 2, DRIVER_OPENGL = 1,
  DRIVER_COUNT, DRIVER_FORCE_32BIT = 0x7FFFFFFF
}
 different driver types More...

enum  BPP {
  BPP_UNKNOWN = 0, BPP_X1R5G5B5, BPP_A1R5G5B5, BPP_A4R4G4B4,
  BPP_X4R4G4B4, BPP_A8, BPP_R3G3B2, BPP_A8R3G3B2,
  BPP_A2B10G10R10, BPP_G16R16, BPP_R5G6B5, BPP_R8G8B8,
  BPP_A8R8G8B8, BPP_X8R8G8B8, BPP_P8, BPP_A8P8,
  BPP_L8, BPP_A8L8, BPP_A4L4, BPP_V8U8,
  BPP_Q8W8V8U8, BPP_V16U16, BPP_W11V11U10, BPP_L6V5U5,
  BPP_X8L8V8U8, BPP_A2W10V10U10, BPP_UYVY, BPP_YUY2,
  BPP_DXT1, BPP_DXT2, BPP_DXT3, BPP_DXT4,
  BPP_DXT5, BPP_R16F, BPP_G16R16F, BPP_A16B16G16R16F,
  BPP_R32F, BPP_G32R32F, BPP_A32B32G32R32F, BPP_COUNT,
  BPP_FORCE_32BIT = 0x7FFFFFFF
}
 types of color formats, indicating number of bits per channel More...

enum  ZPP {
  ZPP_UNKNOWN = 0, ZPP_D16, ZPP_D15S1, ZPP_D24,
  ZPP_D24S4, ZPP_D24S8, ZPP_D32, ZPP_COUNT,
  ZPP_FORCE_32BIT = 0x7FFFFFFF
}
 possible z-buffer formats More...

enum  RenderState {
  RENDER_ZENABLE = 0, RENDER_ZENABLEUSEW, RENDER_ZWRITESENABLE, RENDER_DEPTHFUNCTION,
  RENDER_DEPTHBIAS, RENDER_FILLMODE, RENDER_SHADEMODE, RENDER_COLORMASK,
  RENDER_ALPHATESTENABLE, RENDER_ALPHAREF, RENDER_ALPHAFUNCTION, RENDER_ALPHABLENDENABLE,
  RENDER_SOURCEBLEND, RENDER_DESTBLEND, RENDER_TEXTUREFACTOR, RENDER_CULLMODE,
  RENDER_FSAAENABLE, RENDER_FSAAMASK, RENDER_FOGENABLE, RENDER_FOGSTART,
  RENDER_FOGEND, RENDER_FOGCOLOR, RENDER_CLIPPINGENABLE, RENDER_SWVERTEXPROCESS,
  RENDER_HWLIGHTINGENABLE, RENDER_AMBIENTLIGHT, RENDER_DITHERENABLE, RENDER_SPECULARENABLE,
  RENDER_SPECULARPERSPECTIVE, RENDER_PERVERTEXCOLOR, RENDER_STENCILENABLE, RENDER_TWOSIDEDSTENCILENABLE,
  RENDER_STENCILREF, RENDER_STENCILMASK, RENDER_STENCILWRITEMASK, RENDER_STENCILFUNCTION,
  RENDER_STENCILFAIL, RENDER_STENCILZFAIL, RENDER_STENCILPASS, RENDER_CCW_STENCILFUNCTION,
  RENDER_CCW_STENCILFAIL, RENDER_CCW_STENCILZFAIL, RENDER_CCW_STENCILPASS, RENDER_COUNT,
  RENDER_FORCE_32BIT = 0x7FFFFFFF
}
enum  RenderFillMode {
  FILL_POINT = 0, FILL_WIREFRAME, FILL_SOLID, FILL_COUNT,
  FILL_FORCE_32BIT = 0x7FFFFFFF
}
 list of fill modes for RENDER_FILLMODE More...

enum  RenderCullMode {
  CULL_NONE = 0, CULL_CW, CULL_CCW, CULL_COUNT,
  CULL_FORCE_32BIT = 0x7FFFFFFF
}
 list of culling modes for RENDER_CULLMODE More...

enum  RenderShadeMode { SHADE_FLAT = 0, SHADE_GOURAUD, SHADE_COUNT, SHADE_FORCE_32BIT = 0x7FFFFFFF }
 list of shading modes for RENDER_SHADEMODE More...

enum  RenderCmpFunc {
  COMPARE_NEVER = 0, COMPARE_LESS, COMPARE_EQUAL, COMPARE_LESSEQUAL,
  COMPARE_GREATER, COMPARE_GREATEREQUAL, COMPARE_NOTEQUAL, COMPARE_ALWAYS,
  COMPARE_COUNT, COMPARE_FORCE_32BIT = 0x7FFFFFFF
}
 function for comparing values when performing per-pixel tests More...

enum  RenderStencilOp {
  STENCIL_KEEP = 0, STENCIL_ZERO, STENCIL_REPLACE, STENCIL_INCRWRAP,
  STENCIL_DECRWRAP, STENCIL_INVERT, STENCIL_INCR, STENCIL_DECR,
  STENCIL_COUNT, STENCIL_FORCE_32BIT = 0x7FFFFFFF
}
enum  RenderBlend {
  BLEND_ZERO = 0, BLEND_ONE, BLEND_SOURCE, BLEND_INVERSESOURCE,
  BLEND_SOURCEALPHA, BLEND_INVERSESOURCEALPHA, BLEND_DEST, BLEND_INVERSEDEST,
  BLEND_DESTALPHA, BLEND_INVERSEDESTALPHA, BLEND_SOURCEALPHASAT, BLEND_COUNT,
  BLEND_FORCE_32BIT = 0x7FFFFFFF
}
 blending operation to perform More...

enum  Resource {
  RESOURCE_UNKNOWN = -1, RESOURCE_DISPLAY, RESOURCE_DISPLAYWINDOWED, RESOURCE_TEXTURE,
  RESOURCE_RENDERTARGET, RESOURCE_DEPTHSTENCIL, RESOURCE_FSAA, RESOURCE_FSAAWINDOWED,
  RESOURCE_COUNT, RESOURCE_FORCE_32BIT = 0x7FFFFFFF
}
 resource types to feed into ValidFormat More...

enum  QualityFlag {
  QUALITY_UNKNOWN = -1, QUALITY_ALLOW_TEXTURE_MANGLING, QUALITY_ALLOW_INVALID_TEXTURES, QUALITY_FLAG_COUNT,
  QUALITY_FORCE_32BIT = 0x7FFFFFFF
}
 settings for how the engine should allow quality compromises More...


Public Member Functions

virtual long Release ()=0
 Delete the object.

virtual deBoolean Init (HWND WindowHandle)=0
virtual deBoolean SetDisplay (deDisplay *Display)=0
virtual deBoolean Reset (deDisplay *Display=(0))=0
virtual const deDisplayGetDisplay () const=0
 Get a pointer to the driver's internally-held display struct.

virtual deBoolean GetCurrentDisplay (long Adapter, deDisplay *Display) const=0
virtual deBoolean GetDisplayMode (long Adapter, long Mode, deDisplay *Display) const=0
virtual const deDriverCapsGetCaps (long Adapter) const=0
 Fill a deDriverCaps structure with an adapter's device capabilities.

virtual deRect UpdateWindowRect ()=0
 Update the driver's knowledge of the client-window rect.

virtual deRect GetDisplayRect () const=0
 Get the driver's internally-held client-window rect.

virtual long GetAdapterCount () const=0
 Get the number of adapters supported under this driver.

virtual long GetModeCount (long Adapter) const=0
 Get the number of modes for a particular adapter.

virtual deBoolean WindowedAllowed (long Adapter) const=0
 Test whether windowed mode is allowed on a particular adapter.

virtual deBoolean ValidFormat (long Adapter, Resource ResourceType, BPP BPPType, ZPP ZPPType, BPP FrontBuffer, long ExtraFlag=0) const=0
 Test for a valid format for various resource types.

virtual long BitDepth (BPP BPPType) const=0
 Get the bit-depth of a particular color format.

virtual long BitDepth (ZPP ZPPType) const=0
 Get the bit-depth of a particular z-buffer format.

virtual long StencilDepth (ZPP ZPPType) const=0
 Get the bit-depth devoted to stencil channel in z-buffer format.

virtual deBoolean HasStencil (ZPP ZPPType) const=0
 Test whether a particular z-buffer format supports stenciling.

virtual deBoolean AddVertexBuffer (IdeVertexBuffer *Vertex)=0
 Add a vertex buffer to the driver.

virtual deBoolean RemoveVertexBuffer (IdeVertexBuffer *Vertex)=0
 Remove a vertex buffer from the driver.

virtual deBoolean UpdateVertexBuffer (IdeVertexBuffer *Vertex)=0
 Update a vertex buffer so the driver's internal data matches it.

virtual deBoolean AddShader (IdeShader *Shader)=0
virtual deBoolean SetShader (IdeShader *Shader)=0
virtual deBoolean RemoveShader (IdeShader *Shader)=0
virtual deBoolean BeginFrame ()=0
 Call before rendering anything.

virtual deBoolean EndFrame ()=0
 Finish the render and update the front-buffer.

virtual deBoolean ClearFrame (deARGB Color, deBoolean ClearTarget=(DE_TRUE), deBoolean ClearZBuffer=(DE_TRUE), deBoolean ClearStencil=(DE_TRUE))=0
 Clear the frame with a particular color.

virtual deBoolean Render (IdeVertexBuffer *VBuffer, long IndexOffset, IdeVertexBuffer *IndexOverride=(0))=0
 Render the selected Vertex Buffer to the back-buffer.

virtual deBoolean SetViewport (long X, long Y, long Width, long Height, deFloat MinZ, deFloat MaxZ)=0
 Set the screen-space viewport.

virtual deBoolean SetDepthRange (deFloat MinZ, deFloat MaxZ)=0
virtual deBoolean SetFOVClipping (deFloat FOV, deFloat Aspect, deFloat ClipNear, deFloat ClipFar)=0
 Set up a perspective view transformation.

virtual deBoolean SetOrthoClipping (deFloat Width, deFloat Height, deFloat ClipNear, deFloat ClipFar, deBoolean Invert=(DE_FALSE))=0
 Set up an orthographic (parallel projection) view transformation.

virtual deBoolean SetFOVClippingSubRect (deFloat FOVY, deFloat Aspect, deFloat ClipNear, deFloat ClipFar, deRect SubRect)=0
 Set up a perspective view transformation with a sub-rect specified in the [0,1] range.

virtual deBoolean SetFOVClippingSubRectFloat (deFloat FOVY, deFloat Aspect, deFloat ClipNear, deFloat ClipFar, deFloatRect SubRect)=0
virtual deBoolean SetOrthoClippingSubRect (deFloat Width, deFloat Height, deFloat ClipNear, deFloat ClipFar, deBoolean Invert, deRect SubRect)=0
 Set up an orthographic (parallel projection) view transformation with a sub-rect specified in the [0,1] range.

virtual deBoolean SetOrthoClippingSubRectFloat (deFloat Width, deFloat Height, deFloat ClipNear, deFloat ClipFar, deBoolean Invert, deFloatRect SubRect)=0
virtual deBoolean SetScissorRect (deRect ScissorRect)=0
virtual deBoolean SetCameraTransform (deTransformInfo *M)=0
 Set the camera transform (position and orientation).

virtual deBoolean SetWorldTransform (deTransformInfo *Mat)=0
 Set the world transform (to take things from "object space" to "world space").

virtual deBoolean SetTextureTransform (long StageNum, deTransformInfo *Mat)=0
 Set the texture transform for a particular stage.

virtual deBoolean AddBitmap (IdeBitmap *Bitmap)=0
 Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

virtual deBoolean AddBitmapProxy (IdeBitmapProxy *BitmapProxy)=0
 Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

virtual deBoolean RemoveBitmap (IdeBitmap *Bitmap)=0
 Removes a bitmap from a driver by deleting the internal driver texture.

virtual deBoolean RenderTo (IdeBitmap *pBitmap, long CubeMapFace=0)=0
virtual deBoolean ScreenShot (IdeBitmap *&pBitmap, deBoolean GrabWindow=(DE_TRUE))=0
virtual deBoolean GetVideoTexture (IdeBitmap *pBitmap, long CubeMapFace=0)=0
virtual unsigned long GetRenderState (RenderState State)=0
 Get current value of the State passed in.

virtual deBoolean SetRenderState (const IdeRenderState *State)=0
 Set a class-based render-state (texture, material, or light).

virtual deBoolean SetRenderState (RenderState State, unsigned long Value)=0
 Set a value-based render-state.

virtual deBoolean EnableLight (long LightID, deBoolean Enable)=0
virtual deBoolean DisableAllLights ()=0
 Disable all fixed-function lights.

virtual unsigned long GetQualityFlag (QualityFlag Flag)=0
 Get the status of a particular quality flag.

virtual deBoolean SetQualityFlag (QualityFlag Flag, unsigned long Value)=0
 Set the status of a particular quality flag.

virtual IdeDriver::Types GetType () const=0
 Get the type of driver this is.

virtual deDriverInfoGetInfo () const=0
 Get some information about the driver.

virtual long GetCount ()=0
virtual void LogInfo (char *Data,...)=0
 Log text to the driver's log file.

virtual deDriverStatsGetDriverStats ()=0
 Get a pointer to the driver's internal statistics structure.

virtual void ResetDriverStats ()=0
 Reset the driver's internal statistics structure to all zeroes.


Protected Member Functions

virtual ~IdeDriver ()

Detailed Description

The base class that every driver is derived from. The driver is a generic interface between the engine or application and the specific hardware API being used - usually Direct3D or OpenGL. Through this interface, various rendering states are set, resources are exposed to the video hardware, and rendering of geometric objects takes place. Relevant details about the video hardware itself can be queried, allowing the engine or an application to appropriately allocate resources and choose render states. IdeDriver is the final stopping point for data from the engine or application before it's shipped off to the hardware, so it does some error and redundancy checking when setting states and resources. An application should generally not interface directly with IdeDriver, instead using the IdeRender interface to handle things in an established manner.


Member Enumeration Documentation

enum IdeDriver::BPP
 

types of color formats, indicating number of bits per channel

Enumeration values:
BPP_UNKNOWN  unknown the possible bits
BPP_X1R5G5B5  16bit rgb, 5 bits for r, g, b
BPP_A1R5G5B5  16bit argb, 1 bit for a, 5 bits for r, g, b
BPP_A4R4G4B4  16bit argb, 4 bits for a, r, g, b
BPP_X4R4G4B4  16bit rgb, 4 bits for r, g, b
BPP_A8  8bit alpha
BPP_R3G3B2  8bit rgb, 3 bits for r, g, 2 bits for b
BPP_A8R3G3B2  16bit argb, 8 bits for a, 3 bits for r, g, 2 bits for b
BPP_A2B10G10R10  32bit abgr, 2 bits for a, 10 bits for b, g, r
BPP_G16R16  32bit rg, 16 bits for g, r
BPP_R5G6B5  16bit rgb, 5 bits for r, b, 6 bits for g
BPP_R8G8B8  24bit rgb, 8 bits for r, g, b
BPP_A8R8G8B8  32bit argb, 8 bits for a, r, g, b
BPP_X8R8G8B8  32bit rgb, 8 bits for r, g, b
BPP_P8  8bit color indexed
BPP_A8P8  8bit color index, 8bit alph
BPP_L8  8bit luminance
BPP_A8L8  16bit luminance with alpha 8 bits for a, l
BPP_A4L4  8bit luminance with alpha, 4 bits for a, l
BPP_V8U8  16bit bumpmap, 8 bits for v, u
BPP_Q8W8V8U8  32bit bumpmap, 8 bits for q, w, v, u
BPP_V16U16  32bit bumpmap, 16 bits for u, v
BPP_W11V11U10  32bit bumpmap, 11 bits for w, v, 10 bits for u
BPP_L6V5U5  16bit bumpmap with luminance, 6 bits for l, 5 bits for v, u
BPP_X8L8V8U8  32bit bumpmap with luminance, 8 bits for l, v, u
BPP_A2W10V10U10  32bit bumpmap with alpha, 2 bits for a, 10 bits for w, v, u
BPP_UYVY  UYVY format.
BPP_YUY2  YUY2 format.
BPP_DXT1  DXT texture compression format.
BPP_DXT2  DXT texture compression format.
BPP_DXT3  DXT texture compression format.
BPP_DXT4  DXT texture compression format.
BPP_DXT5  DXT texture compression format.
BPP_R16F  16-bpc single channel floating point format
BPP_G16R16F  16-bpc double channel floating point format
BPP_A16B16G16R16F  16-bpc ABGR floating point format
BPP_R32F  32-bpc single channel floating point format
BPP_G32R32F  32-bpc double channel floating point format
BPP_A32B32G32R32F  32-bpc ABGR floating point format
BPP_COUNT 
BPP_FORCE_32BIT 

enum IdeDriver::QualityFlag
 

settings for how the engine should allow quality compromises

Enumeration values:
QUALITY_UNKNOWN 
QUALITY_ALLOW_TEXTURE_MANGLING  allow the engine to resize and adjust bitdepth of textures. boolean value.
QUALITY_ALLOW_INVALID_TEXTURES  engine will complain but allow invalid (bitdepth or size) textures to be created. boolean value.
QUALITY_FLAG_COUNT 
QUALITY_FORCE_32BIT 

enum IdeDriver::RenderBlend
 

blending operation to perform

Enumeration values:
BLEND_ZERO  never overwrite
BLEND_ONE  always overwrite
BLEND_SOURCE  blend with source
BLEND_INVERSESOURCE  blend with inverse source
BLEND_SOURCEALPHA  blend with source alpha
BLEND_INVERSESOURCEALPHA  blend with inverse source alpha
BLEND_DEST  blend with destination
BLEND_INVERSEDEST  blend with inverse destination alpha
BLEND_DESTALPHA  blend with destination alpha
BLEND_INVERSEDESTALPHA  blend with inverse destination alpha
BLEND_SOURCEALPHASAT  blend with source alpha saturation
BLEND_COUNT 
BLEND_FORCE_32BIT 

enum IdeDriver::RenderCmpFunc
 

function for comparing values when performing per-pixel tests

Enumeration values:
COMPARE_NEVER  never use pixel
COMPARE_LESS  use pixel if value is less than current
COMPARE_EQUAL  use pixel if equal value
COMPARE_LESSEQUAL  use pixel if less than or equal to current (default depth comparison)
COMPARE_GREATER  use pixel if greater than current
COMPARE_GREATEREQUAL  use pixel if greater than or equal to current
COMPARE_NOTEQUAL  use pixel if not equal to current
COMPARE_ALWAYS  always use pixel (default stencil comparison, default alpha comparison)
COMPARE_COUNT 
COMPARE_FORCE_32BIT 

enum IdeDriver::RenderCullMode
 

list of culling modes for RENDER_CULLMODE

Enumeration values:
CULL_NONE  no culling
CULL_CW  cull backfaces with clockwise vertex winding
CULL_CCW  cull backfaces with counter-clockwise vertex winding
CULL_COUNT 
CULL_FORCE_32BIT 

enum IdeDriver::RenderFillMode
 

list of fill modes for RENDER_FILLMODE

Enumeration values:
FILL_POINT  just show points
FILL_WIREFRAME  show a wireframe view
FILL_SOLID  show everything in solid (default behavior, can still render lines)
FILL_COUNT 
FILL_FORCE_32BIT 

enum IdeDriver::RenderShadeMode
 

list of shading modes for RENDER_SHADEMODE

Enumeration values:
SHADE_FLAT  flat shading
SHADE_GOURAUD  gouraud shading
SHADE_COUNT 
SHADE_FORCE_32BIT 

enum IdeDriver::RenderState
 

list of renderstates that can be changed. specify deTRUE or deFALSE as the 2nd parameter to SetRenderState unless otherwise noted

Enumeration values:
RENDER_ZENABLE  enable z buffer for depth testing
RENDER_ZENABLEUSEW  enable w buffer for depth testing
RENDER_ZWRITESENABLE  enable z-buffer writes
RENDER_DEPTHFUNCTION  type of depth compare to do (2nd param: RenderCmpFunc)
RENDER_DEPTHBIAS  bias to apply when coplanar faces are rendered. higher is closer.
RENDER_FILLMODE  type of fill mode (2nd param: RenderFillMode)
RENDER_SHADEMODE  type of shading (2nd param: RenderShadeMode)
RENDER_COLORMASK  mask for color channels (2nd param: deARGB with zero or non-zero in each channel)
RENDER_ALPHATESTENABLE  enable alpha testing on tri's
RENDER_ALPHAREF  reference alpha value to test against (2nd param: DWORD value)
RENDER_ALPHAFUNCTION  type of alpha compare to do (2nd param: RenderCmpFunc)
RENDER_ALPHABLENDENABLE  enable alpha blending
RENDER_SOURCEBLEND  type of blending on source (2nd param: RenderBlend)
RENDER_DESTBLEND  type of blending on dest (2nd param: RenderBlend)
RENDER_TEXTUREFACTOR  color to be used on multi-tex blending (2nd param: deARGB color)
RENDER_CULLMODE  type of culling (2nd param: RenderCullMode)
RENDER_FSAAENABLE  enable full-scene anti-aliasing
RENDER_FSAAMASK  set the mask for FSAA (example: 0x05)
RENDER_FOGENABLE  enable fogging (0 = off, 1 = depth-based, 2 = range-based)
RENDER_FOGSTART  start of fog as float, *((long *)&FogStart) to pass
RENDER_FOGEND  end of fog as float, *((long *)&FogStart) to pass
RENDER_FOGCOLOR  color of fod (2nd param: deARGB color)
RENDER_CLIPPINGENABLE  enable clipping
RENDER_SWVERTEXPROCESS  enable software vertex processing
RENDER_HWLIGHTINGENABLE  enable fixed-function vertex lighting
RENDER_AMBIENTLIGHT  ambient light color value (2nd param: deARGB color)
RENDER_DITHERENABLE  enable dithering, useful in 16-bit display modes
RENDER_SPECULARENABLE  enable specular highlighting for fixed-function lighting
RENDER_SPECULARPERSPECTIVE  set specular calculations to use perspective projection
RENDER_PERVERTEXCOLOR  enable per-vertex color values to be used in lighting model
RENDER_STENCILENABLE  enable stencil buffering
RENDER_TWOSIDEDSTENCILENABLE  enable two sided stencil buffering
RENDER_STENCILREF  set the stencil reference value (2nd param: DWORD value, default value: 0)
RENDER_STENCILMASK  set the stencil mask value (2nd param: DWORD value, default value: 0xFFFFFFFF)
RENDER_STENCILWRITEMASK  set the stencil write-mask value (2nd param: DWORD value, default value: 0xFFFFFFFF)
RENDER_STENCILFUNCTION  type of stencil comparison to perform (2nd param: RenderCmpFunc)
RENDER_STENCILFAIL  operation to perform when both the stencil and depth tests fail (2nd param: RenderStencilOp)
RENDER_STENCILZFAIL  operation to perform when stencil test passes and depth test fails (2nd param: RenderStencilOp)
RENDER_STENCILPASS  operatoin to perform when both the stencil and depth tests pass (2nd param: RenderStencilOp)
RENDER_CCW_STENCILFUNCTION  type of stencil comparison to perform for second stencil "side" (2nd param: RenderCmpFunc)
RENDER_CCW_STENCILFAIL  operation to perform when both the stencil and depth tests fail (2nd param: RenderStencilOp)
RENDER_CCW_STENCILZFAIL  operation to perform when stencil test passes and depth test fails for second stencil "side" (2nd param: RenderStencilOp)
RENDER_CCW_STENCILPASS  operation to perform when both the stencil and depth tests pass for second stencil "side" (2nd param: RenderStencilOp)
RENDER_COUNT 
RENDER_FORCE_32BIT 

enum IdeDriver::RenderStencilOp
 

operation to perform for stenciling. "max" value is (2^n)-1 where n is the bit-depth of the stencil buffer (unsigned integer). (StencilRef & StencilMask) RenderCmpFunc (StencilBufferValue & StencilMask)

Enumeration values:
STENCIL_KEEP  (default value) keep the current value
STENCIL_ZERO  set the stencil-buffer entry to 0
STENCIL_REPLACE  replace the stencil-buffer entry with the reference value
STENCIL_INCRWRAP  increment the stencil-buffer entry, clamping to max
STENCIL_DECRWRAP  decrement the stencil-buffer entry, clamping to 0
STENCIL_INVERT  invert the bits in the stencil-buffer entry
STENCIL_INCR  increment the stencil-buffer entry, wrapping to 0
STENCIL_DECR  decrement the stencil-buffer entry, wrapping to max
STENCIL_COUNT 
STENCIL_FORCE_32BIT 

enum IdeDriver::Resource
 

resource types to feed into ValidFormat

Enumeration values:
RESOURCE_UNKNOWN  invalid value
RESOURCE_DISPLAY  resource is a full-screen display
RESOURCE_DISPLAYWINDOWED  resource is a windowed display
RESOURCE_TEXTURE  resource is a texture
RESOURCE_RENDERTARGET  resource is a color-buffer render-target
RESOURCE_DEPTHSTENCIL  resource is a z-buffer with depth and possibly stencil information
RESOURCE_FSAA  resource alias for a full-scene anti-aliased device
RESOURCE_FSAAWINDOWED  resource alias for a full-scene anti-aliased device, in windowed mode
RESOURCE_COUNT 
RESOURCE_FORCE_32BIT 

enum IdeDriver::Types
 

different driver types

Enumeration values:
DRIVER_INVALID  invalid option
DRIVER_DIRECT3D8  Direct3D driver.
DRIVER_DIRECT3D9  Direct3D driver.
DRIVER_OPENGL  OpenGL driver.
DRIVER_COUNT 
DRIVER_FORCE_32BIT 

enum IdeDriver::ZPP
 

possible z-buffer formats

Enumeration values:
ZPP_UNKNOWN  bad value
ZPP_D16  16-bit depth buffer
ZPP_D15S1  15-bit depth with 1-bit stencil (0,1)
ZPP_D24  24-bit depth buffer
ZPP_D24S4  24-bit depth with 4-bit stencil (0-15)
ZPP_D24S8  24-bit depth with 8-bit stencil (0-255)
ZPP_D32  32-bit depth (some cards might not work with this)
ZPP_COUNT 
ZPP_FORCE_32BIT 


Constructor & Destructor Documentation

virtual IdeDriver::~IdeDriver   [inline, protected, virtual]
 


Member Function Documentation

virtual deBoolean IdeDriver::AddBitmap IdeBitmap   Bitmap [pure virtual]
 

Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::AddBitmapProxy IdeBitmapProxy   BitmapProxy [pure virtual]
 

Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::AddShader IdeShader   Shader [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::AddVertexBuffer IdeVertexBuffer   Vertex [pure virtual]
 

Add a vertex buffer to the driver.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::BeginFrame   [pure virtual]
 

Call before rendering anything.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual long IdeDriver::BitDepth ZPP    ZPPType const [pure virtual]
 

Get the bit-depth of a particular z-buffer format.

Implemented in deDriver.

virtual long IdeDriver::BitDepth BPP    BPPType const [pure virtual]
 

Get the bit-depth of a particular color format.

Implemented in deDriver.

virtual deBoolean IdeDriver::ClearFrame deARGB    Color,
deBoolean    ClearTarget = (DE_TRUE),
deBoolean    ClearZBuffer = (DE_TRUE),
deBoolean    ClearStencil = (DE_TRUE)
[pure virtual]
 

Clear the frame with a particular color.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::DisableAllLights   [pure virtual]
 

Disable all fixed-function lights.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::EnableLight long    LightID,
deBoolean    Enable
[pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::EndFrame   [pure virtual]
 

Finish the render and update the front-buffer.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual long IdeDriver::GetAdapterCount   const [pure virtual]
 

Get the number of adapters supported under this driver.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual const deDriverCaps* IdeDriver::GetCaps long    Adapter const [pure virtual]
 

Fill a deDriverCaps structure with an adapter's device capabilities.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual long IdeDriver::GetCount   [pure virtual]
 

Implemented in deDriver.

virtual deBoolean IdeDriver::GetCurrentDisplay long    Adapter,
deDisplay   Display
const [pure virtual]
 

Fill a deDisplay with an adapter's CURRENT (even un-renderable) display settings. If a fullscreen rendering mode has not been set up, this will be the desktop settings.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual const deDisplay* IdeDriver::GetDisplay   const [pure virtual]
 

Get a pointer to the driver's internally-held display struct.

Implemented in deDriver.

virtual deBoolean IdeDriver::GetDisplayMode long    Adapter,
long    Mode,
deDisplay   Display
const [pure virtual]
 

Feed in a display struct to be filled in for the enumerated mode

Parameters:
Display [in, out] pointer to a user-created deDisplay struct to be filled in, may not be NULL

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deRect IdeDriver::GetDisplayRect   const [pure virtual]
 

Get the driver's internally-held client-window rect.

Implemented in deDriver.

virtual deDriverStats* IdeDriver::GetDriverStats   [pure virtual]
 

Get a pointer to the driver's internal statistics structure.

Implemented in deDriver.

virtual deDriverInfo* IdeDriver::GetInfo   const [pure virtual]
 

Get some information about the driver.

Implemented in deDirect3D8, deDirect3D9, and deDriver.

virtual long IdeDriver::GetModeCount long    Adapter const [pure virtual]
 

Get the number of modes for a particular adapter.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual unsigned long IdeDriver::GetQualityFlag QualityFlag    Flag [pure virtual]
 

Get the status of a particular quality flag.

Implemented in deDriver.

virtual unsigned long IdeDriver::GetRenderState RenderState    State [pure virtual]
 

Get current value of the State passed in.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual IdeDriver::Types IdeDriver::GetType   const [pure virtual]
 

Get the type of driver this is.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::GetVideoTexture IdeBitmap   pBitmap,
long    CubeMapFace = 0
[pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::HasStencil ZPP    ZPPType const [pure virtual]
 

Test whether a particular z-buffer format supports stenciling.

Implemented in deDriver.

virtual deBoolean IdeDriver::Init HWND    WindowHandle [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual void IdeDriver::LogInfo char *    Data,
...   
[pure virtual]
 

Log text to the driver's log file.

Implemented in deDriver.

virtual long IdeDriver::Release   [pure virtual]
 

Delete the object.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean IdeDriver::RemoveBitmap IdeBitmap   Bitmap [pure virtual]
 

Removes a bitmap from a driver by deleting the internal driver texture.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::RemoveShader IdeShader   Shader [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::RemoveVertexBuffer IdeVertexBuffer   Vertex [pure virtual]
 

Remove a vertex buffer from the driver.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::Render IdeVertexBuffer   VBuffer,
long    IndexOffset,
IdeVertexBuffer   IndexOverride = (0)
[pure virtual]
 

Render the selected Vertex Buffer to the back-buffer.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::RenderTo IdeBitmap   pBitmap,
long    CubeMapFace = 0
[pure virtual]
 

Sets the current render-target to the bitmap passed in, if the bitmap can be a render-target.

Parameters:
pBitmap [in] Bitmap that is a render-target to be rendered to. This bitmap will only act as a handle to the internal driver texture being used, it doesn't contain a copy of what the video card's texture stores

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::Reset deDisplay   Display = (0) [pure virtual]
 

Reset the driver, possibly with altered display properties. Resetting will cause all vertex buffers and textures to be flushed

Parameters:
Display [in] user-defined display settings, may be NULL to keep current settings

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual void IdeDriver::ResetDriverStats   [pure virtual]
 

Reset the driver's internal statistics structure to all zeroes.

Implemented in deDriver.

virtual deBoolean IdeDriver::ScreenShot IdeBitmap *&    pBitmap,
deBoolean    GrabWindow = (DE_TRUE)
[pure virtual]
 

Copies the frontbuffer into the bitmap specified cannot be a render-target

Parameters:
pBitmap [out] Bitmap pointer that is to have the screen data copied into. A new deBitmap object will be created internally, and its address stored into this parameter. After the data is copied, you must save the file to disk manually, if desired.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetCameraTransform deTransformInfo   M [pure virtual]
 

Set the camera transform (position and orientation).

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetDepthRange deFloat    MinZ,
deFloat    MaxZ
[pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean IdeDriver::SetDisplay deDisplay   Display [pure virtual]
 

Set the display up, creating a new internal render device

Parameters:
Display [in] user-defined display settings, may not be NULL

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetFOVClipping deFloat    FOV,
deFloat    Aspect,
deFloat    ClipNear,
deFloat    ClipFar
[pure virtual]
 

Set up a perspective view transformation.

Implemented in deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetFOVClippingSubRect deFloat    FOVY,
deFloat    Aspect,
deFloat    ClipNear,
deFloat    ClipFar,
deRect    SubRect
[pure virtual]
 

Set up a perspective view transformation with a sub-rect specified in the [0,1] range.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetFOVClippingSubRectFloat deFloat    FOVY,
deFloat    Aspect,
deFloat    ClipNear,
deFloat    ClipFar,
deFloatRect    SubRect
[pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetOrthoClipping deFloat    Width,
deFloat    Height,
deFloat    ClipNear,
deFloat    ClipFar,
deBoolean    Invert = (DE_FALSE)
[pure virtual]
 

Set up an orthographic (parallel projection) view transformation.

Implemented in deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetOrthoClippingSubRect deFloat    Width,
deFloat    Height,
deFloat    ClipNear,
deFloat    ClipFar,
deBoolean    Invert,
deRect    SubRect
[pure virtual]
 

Set up an orthographic (parallel projection) view transformation with a sub-rect specified in the [0,1] range.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetOrthoClippingSubRectFloat deFloat    Width,
deFloat    Height,
deFloat    ClipNear,
deFloat    ClipFar,
deBoolean    Invert,
deFloatRect    SubRect
[pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetQualityFlag QualityFlag    Flag,
unsigned long    Value
[pure virtual]
 

Set the status of a particular quality flag.

Implemented in deDriver.

virtual deBoolean IdeDriver::SetRenderState RenderState    State,
unsigned long    Value
[pure virtual]
 

Set a value-based render-state.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetRenderState const IdeRenderState   State [pure virtual]
 

Set a class-based render-state (texture, material, or light).

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetScissorRect deRect    ScissorRect [pure virtual]
 

Implemented in deDirect3D9, and deDriver.

virtual deBoolean IdeDriver::SetShader IdeShader   Shader [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetTextureTransform long    StageNum,
deTransformInfo   Mat
[pure virtual]
 

Set the texture transform for a particular stage.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean IdeDriver::SetViewport long    X,
long    Y,
long    Width,
long    Height,
deFloat    MinZ,
deFloat    MaxZ
[pure virtual]
 

Set the screen-space viewport.

Implemented in deDriver, and deOpenGL.

virtual deBoolean IdeDriver::SetWorldTransform deTransformInfo   Mat [pure virtual]
 

Set the world transform (to take things from "object space" to "world space").

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual long IdeDriver::StencilDepth ZPP    ZPPType const [pure virtual]
 

Get the bit-depth devoted to stencil channel in z-buffer format.

Implemented in deDriver.

virtual deBoolean IdeDriver::UpdateVertexBuffer IdeVertexBuffer   Vertex [pure virtual]
 

Update a vertex buffer so the driver's internal data matches it.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deRect IdeDriver::UpdateWindowRect   [pure virtual]
 

Update the driver's knowledge of the client-window rect.

Implemented in deDriver.

virtual deBoolean IdeDriver::ValidFormat long    Adapter,
Resource    ResourceType,
BPP    BPPType,
ZPP    ZPPType,
BPP    FrontBuffer,
long    ExtraFlag = 0
const [pure virtual]
 

Test for a valid format for various resource types.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.

virtual deBoolean IdeDriver::WindowedAllowed long    Adapter const [pure virtual]
 

Test whether windowed mode is allowed on a particular adapter.

Implemented in deDirect3D8, deDirect3D9, deDriver, and deOpenGL.


The documentation for this class was generated from the following file:
Generated on Mon Sep 12 20:14:02 2005 for Destiny3D by doxygen1.3-rc3